Incremental Compilation for Logic Emulation
نویسنده
چکیده
Over the past decade, the steady growth rate of FPGA device capacities has enabled the development of multi-FPGA prototyping environments capable of implementing millions of logic gates. While software support for translating new user designs from gate and RTL-level netlists to FPGA bitstreams has improved steadily, little work has been done in developing techniques to support the translation of incremental design changes at the netlist level to a set of replacement bitstreams for a small number of FPGAs in a multi-FPGA system. As system sizes and design compilation times increase, the need to support rapid, incremental compilation grows progressively important. In this paper we describe and analyze a set of incremental compilation steps, including incremental design partitioning and incremental inter-FPGA routing, for two specific classes of multi-FPGA emulation systems. These classes are defined by the techniques that emulation software systems use to determine inter-FPGA communication. In hard-wired emulation systems each logic signal traversing an FPGA boundary is dedicated to a physical inter-FPGA wire and this assignment remains static during the execution of the prototyped design. In contrast, for virtual-wired systems, inter-FPGA wires are multiplexed over time during design execution to support the communication of multiple logical signals using the same physical resources. Through experimentation we find that while incremental compilation techniques can be applied both to hard-wired and virtual-wired systems, a lack of available FPGA pin resources frequently limits their applicability in the hardwired case. In contrast, it is shown that incremental techniques can be seemlessly integrated into virtual-wired systems resulting in a valid implementation of a modified design and requiring the need to re-place and re-route only a small fraction of FPGAs in the target system.
منابع مشابه
Incremental compilation for parallel logic verification systems
Although simulation remains an important part of application-specific integrated circuit (ASIC) validation, hardware-assisted parallel verification is becoming a larger part of the overall ASIC verification flow. In this paper, we describe and analyze a set of incremental compilation steps that can be directly applied to a range of parallel logic verification hardware, including logic emulators...
متن کاملA New Method for Incremental Consequence-Finding
Consequence-finding is important to various reasoning problems, including knowledge compilation, abduction, nonmonotonic reasoning, and clause maintenance systems. The incremental version of the problem is also important because it is expensive to recompute a consequence set in response to the addition of new premises. In this paper, we present the first incremental consequencefinding method fo...
متن کاملSpeeding up Hardware Prototyping by Incremental Simulation/Emulation
In this paper we describe a method for the automatic construction of a testbench, able to dynamically communicate a standard VHDL simulator with a logic emulator by means of text files. The proposed approach significantly reduces turn-around times in an emulation based rapid system prototyping environment. In this way, time consuming logic synthesis and technology mapping steps are moved, in th...
متن کاملDesign and Integration of New Architecture Features into a Many-Core Chip Architecture - A Report on a Novel Architecture/Software Co-Verification Platform
Historically, design and integration of a new architectural feature requires time consuming full system verification/validation. This challenge is particularly serious for the research and development of multi-/many-core chips due to the scale of the chip and time-to-market constraints. We conducted a logic design and integration of a new architecture feature, called Synchronization State Buffe...
متن کاملSolving graph problems with dynamic computation structures
We introduce dynamic computation structures (DCS), a compilation technique to produce dynamic code for reconngurable computing. DCS specializes directed graph instances into user-level hardware for reconngurable architectures. Several problems such as shortest path and transitive closure exhibit the general properties of closed semirings, an algebraic structure for solving directed paths. Motiv...
متن کامل